package it.clariter.web.action;

import java.util.List;

import it.clariter.dao.ClienteDAO;
import it.clariter.model.Cliente;
import it.clariter.web.form.AziendaClienteForm;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

public class CrudClienteAction extends DispatchAction {

	
	public ActionForward nuovo(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
		
		if(request.getSession().getAttribute("utente")==null){
			response.sendRedirect("login.jsp");
		}
		
		HttpSession session = request.getSession();
		request.setAttribute("titolo", "Inserisci Nuovo Cliente");
		session.setAttribute("value", "nuovoCliente");
		request.setAttribute("indietro", "listaCliente.jsp");
		session.setAttribute("tasto", "Inserisci Nuovo Cliente");
		session.setAttribute("label", "Cliente");
		return mapping.findForward("insert");
		
	}
	
	public ActionForward modifica(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
		
		if(request.getSession().getAttribute("utente")==null){
			response.sendRedirect("login.jsp");
		}
		
		HttpSession session = request.getSession();
		AziendaClienteForm l = (AziendaClienteForm) form;
		
		Cliente a = new ClienteDAO().get(l.getIdCliente());
		request.setAttribute("oggetto", a);
		session.setAttribute("value", "modificaCliente");
		request.setAttribute("titolo", "Modifica Cliente");
		session.setAttribute("tasto", "Modifica");
		session.setAttribute("indietro", "listaCliente.jsp");
		session.setAttribute("label", "Cliente");
		
		return mapping.findForward("update");
		
	}
	
	public ActionForward cancella(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
		
		if(request.getSession().getAttribute("utente")==null){
			response.sendRedirect("login.jsp");
		}
		
		HttpSession session = request.getSession();
		AziendaClienteForm l = (AziendaClienteForm) form;
			
		new ClienteDAO().delete(l.getIdCliente());
		request.setAttribute("messaggio", "Cancellazione effettuata correttamente!");
		Cliente a = (Cliente) session.getAttribute("clientePerRicerca");
		List<Cliente> lista = new ClienteDAO().findByExample(a);
		session.setAttribute("clienti", lista);
	
		return mapping.findForward("delete");
		
	}
}
